PROGRAM creationCompte;

USES Types;

Procedure  creationCompte(ID_Client : INTEGER; VAR tabCompte : TTabCompte );

VAR 
	compte : Tcompte;
													
	
BEGIN
	//initialise compte
	compte.libelle:='';
	compte.taux:='';
	compte.solde:=-1;
	compte.limite:=1;
																						//IDListcompte est égal au nombre de compte créer jusqu'à maintenant	
	tabCompte.IDListcompte:=tabCompte.IDListcompte + 1;							//On ajoute une entrée à notre tabCompte
	
	compte.IDcompte:= tabCompte.IDListcompte;											//Attribution de la nouvelle entrée à la var compte.IDcompte
	compte.IDclient := ID_Client;											//Attribution de l'ID_Client à notre var compte.IDclient
	
	WHILE(compte.libelle = '') DO
	BEGIN		
		WRITELN('Entrez le type de compte');
		READLN(compte.Libelle);												//Définition du type de compte
		IF (compte.libelle = '') THEN
			WRITELN('Il est obligatoire de saisir un type de compte');
	END;

	WHILE(compte.taux = '') DO
	BEGIN		
		WRITELN('Entrez le taux du compte');
		READLN(compte.taux);												//Définition du taux
		IF (compte.taux = '') THEN
			WRITELN('Il est obligatoire de saisir un taux');
	END;
		
	WHILE(compte.solde = -1) DO
	BEGIN
			WRITELN('Entrez le solde initiale du compte');					//Définition du solde initial
			READLN(compte.solde);
			IF (compte.solde = -1) THEN
				WRITELN('Il est obligatoire de saisir un solde');
	END;
																			
	
	WHILE(compte.limite = 1) DO												//Définition de la limite négative
	BEGIN		
		WRITELN('Entrez la limite de retrait du compte, rentrer en positif');
		READLN(compte.limite);
		IF (compte.limite = 1) THEN
			WRITELN('Il est obligatoire de saisir un nom');
	END;	
END;															

VAR
	ID_Client : INTEGER;							
	tabCompte : TtabCompte;

BEGIN
	creationCompte(ID_Client,tabCompte);
	
END.
